Privacy preserving secret sharing from novel combinatorial objects

ABSTRACT

A secret sharing scheme in which a trust structure of the parties receiving a share of the secret is encoded in the shares. In this regard, an access structure defining an authorized set of participants may be based, at least in part, on the encoded trust structures. The secret sharing scheme includes a secret generator that generates the shares distributed to the parties. In turn, an authorized set of participants as defined by the access structure may provide shares to a dealer for reconstruction of the secret. However, if the participants requesting secret reconstruction are not an authorized set of participants, the secret reconstruction fails. In this regard, secret sharing with asymmetrical trust structures may be provided in which the trust structures are not known by other parties in the scheme.

SUMMARY

The present disclosure relates to a secret sharing scheme in which trust structures (e.g., asymmetric trust structures) are encoded into shares of the secret such that information regarding the trust structure of a given party is used to determine an authorized subset of participants for reconstruction of a secret without the other parties having any information regarding the trust structure. The secret is shared amongst a plurality of computing devices by distributing a share of the secret to a plurality of computing devices. As noted above, the secret is not reconstructable with less than the shares of an authorized subset of participants that comprises a subset of the plurality of computing devices. A request to reconstruct the secret may include the shares from a participating subset of the computing devices. Each of the shares from the participating subset of the computing devices comprise an encoded trust structure for the corresponding computing device. In turn, the authorized subset of participants required to participate in the request for reconstruction of the secret may be defined. The authorized subset of participants is based on the encoded trust structures of the shares of the participating subset of the computing devices. It may be determined whether the participating subset of computing devices comprises the authorized subset of participants and reconstructing the secret using the plurality of shares when the participating subset of the computing devices comprises the authorized subset of participants.

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. These and various other features and advantages will be apparent from a reading of the following Detailed Description.

BRIEF DESCRIPTIONS OF THE DRAWINGS

FIG. 1 illustrates an example of a secret sharing scheme in which shares of a secret are distributed to parties, wherein the shares have encoded therein information regarding to an access structure for the scheme.

FIG. 2 illustrates an example of a request for secret reconstruction from a plurality of participant computing devices belonging to an authorized subset.

FIG. 3 illustrates an example of a request for secret reconstruction from a plurality of participant computing devices not belonging to an authorized subset.

FIG. 4 illustrates example operations for execution of a secret sharing scheme as described herein.

FIG. 5 illustrates an example of a computing device capable of providing functionality associated with the secret sharing scheme described herein.

DETAILED DESCRIPTIONS

Secret sharing provides a means to distribute shares of a secret so that any authorized subset of participants may reconstruct the secret. In the field of computer science, such a secret may comprise data in a memory device of a computing system comprising one or more computing devices. Shares of the secret (which may alternatively be referred to as share data) may be created. The shares of the secret may correspond to share data that can be provided to a plurality of computing devices. In turn, when shares are received from any authorized subset of participants, the shares may be used to recompute the secret (i.e., recreate the original data of the secret at a computing device). In trivial secret sharing, it may be that all of the computing devices to which share data has been provided must participate in reconstruction of the secret. This, however, is not optimal as certain parties may be compromised or lose the share data. In this scenario, the secret may not be capable of being reconstructed and the secret data lost.

Accordingly, in one example of a secret sharing scheme, a threshold is established corresponding to a given number of participants who must participate in a request to reconstruct the secret to successfully achieve secret reconstruction. In such a scheme, a total number of parties (n) are provided shares such that a threshold (t) number of parties must be participants in secret reconstruction to be successful. This is often referred to as the threshold case or a (t, n)-threshold scheme. In the traditional (t, n)-threshold scheme, the authorized subset of participates required to reconstruct the secret is defined by a publicly known access structure. That is, all participants know that so long as a threshold (t) or greater number of participants provide shares, the secret can be reconstructed.

However, certain scenarios may exist where multiple parties wish to perform secret sharing, but the parties to which a share has been provided do not trust each other completely. A multitude of such scenarios can be contemplated including, for example, potentially adverse business parties, potentially adverse government actors, or any other situation in which distrust between parties may exist. In relation to such a scenario, a solution to address this issue has been proposed that implements an asymmetric trust model. In such an asymmetrical trust model, each party to which a share has been provided is allowed to specify a trust structure. In the trust structure, each party declares which of the other parties having shares that it trusts. Such trust structures may be used to define one or more authorized subsets which specify the parties that are trusted by all or at least a majority of the other parties, and adversary subsets which specify the parties that are not trusted by all or at least a majority of the other parties.

In any regard, once each party having a share declares its trust structure, the protocol (applied by an entity sometimes referred to as a “dealer,” which may or may not itself be a party having a share) uses the trust structures declared by each party to generate the authorized subset of participants required to successfully reconstruct the secret using the shares of the authorized subset of participants.

However, prior solutions proposed for asymmetrical trust models require the trust structure of each party to be public. As can be readily understood, it is highly undesirable in practical settings for the trust structure of each party to be known by the other parties in the secret sharing scheme. For instance, heightened animosity, fear of retaliation, souring of relationships, or other adverse outcomes may occur when trust structures are publicly known. In fact, the problem of mandating public trust structures is common among all secret sharing schemes, irrespective of whether a secret sharing scheme supports threshold or general access structures.

Accordingly, the present disclosure introduces secret trust structures. In the approach detailed herein, the authorized subset that is derived from trust structures of all parties that remains secret prior to secret reconstruction. As such, this allows parties having a share of a secret to define a trust structure in accord with the party's perceived trustworthiness of the other parties without the other parties being aware of any information related to such trust structures. In turn, the authorized subset of participants required to participate to successfully reconstitute a secret may be based on the secret trust structures of each party participating in the protocol.

In order to realize secret sharing with secret trust structures, the presently disclosed approach utilizes combinatorial objects. The combinatorial object is a mathematical structure that can be used to enhance the privacy guarantees of most distributed security protocols. In the approach described herein, combinatorial objects are constructed that succinctly “encode” a trust structure. In turn, the encoded trust structure of each party provides no information regarding the trust structure of a given party prior to secret reconstruction. That is, none of the parties are able to determine any information regarding the trust structure of others of the parties, even if the party is in possession of the encoded trust structure of another party. Decoding the encoded trust structure requires all the parties in an authorized subset to collaborate. The authorized set may be based on the encoded trust structures of the participants in a secret reconstruction. Thus, if the participants participating in the reconstitution are not an authorized set based on the encoded trust structures of each party, reconstruction of the secret fails and none of the parties will have information regarding the other parties' encoded trust structures.

The approaches described herein may utilize applications of Extremal set theory, which provides how small or large a collection of sets can satisfy certain restrictions. The restrictions may relate to security parameters regarding the parties that participate in a secret sharing protocol. An example of the encoding mechanism described herein allows representing 2^(n) authorized and unauthorized subsets, corresponding to a trust structure, by a single vector inner product. In this regard, the total number of all possible such sets is 2² ^(n-O(log n)) .

The benefits of the solution described herein include that the scheme identifies a fundamental privacy violating flaw in the previous secret sharing models. The presently described scheme also enhances privacy in secret sharing by introducing the concept of secret access structures. Also, the present scheme allows competitors to collaborate in a manner that enforces the trust structures of each party without revealing the mistrust among the parties. Moreover, the present scheme introduces novel combinatorial objects with multiple applications in distributed security.

In view of the foregoing, the following discussion relates to mathematical concepts that facilitate the secret access structures having the properties described above. Specifically, a system may have a plurality of parties defined as

={P₁, . . . ,

}. An access structure is defined as Γ⊆

, which is a monotone collection of non-empty subsets of the set of parties (

). A collection Γ⊆

is monotone if

∈Γ and

⊆

imply that

∈Γ. Sets in Γ are called authorized and sets not in Γ are called not authorized. If Γ consists of all subsets of

with size greater than or equal to a fixed threshold t (1≤t≤

), then Γ is called a t-threshold access structure. For an access structure Γ, a family of minimal authorized subsets Γ₀∈Γ is defined as: Γ₀={

∈Γ:

is not a subsetsbust of

for all

∈Γ\ {

}}

A computational secret sharing scheme may comprise of a pair of polynomial-time algorithms that are provided respect to an access structure (Γ), a security parameter (ω), a set of

polynomial-time parties

={P₁, . . . ,

}, and a set of secrets (

). Polynomial-time algorithms are utilized in contrast to exponential algorithms to provide computational efficiency to the secret sharing scheme. In this regard, the secret sharing scheme may be conditionally secure against classical and quantum computing resources.

The polynomial-time algorithms may include a share generation algorithm and a secret reconstruction algorithm. The share generation algorithm is a randomized algorithm that gets a secret that is an element of the secret set (k∈

) and access structure F as inputs and outputs a share for each of the parties. That is, the share generation algorithm outputs a number of shares equal to the number of parties. The shares may be defined as ({

, . . .

}). In turn, each share can be provided to a party in the secret sharing scheme such that the access structure is encoded in the share by the share generation algorithm.

The secret reconstruction algorithm is a deterministic algorithm that gets as inputs the shares of a participating subset of the parties and outputs a string in the secret set. That is, the participating subset may be defined as

⊆

denoted by

$\left\{ \prod\limits_{i}^{(k)} \right\}_{i \in \mathcal{A}}.$

In relation to the share generation algorithm and the secret reconstruction algorithm, the algorithms may provide perfect correctness and computational secrecy. In relation to perfect correctness, for all secrets that are an element of the secret set and every authorized subset in the access structure, the output of the secret reconstruction algorithm is the secret (for all k∈

and every authorized subset

∈Γ, it holds that

$\left. {{P{r\left\lbrack {{{Recon}\left( {\left\{ \prod\limits_{i}^{(k)} \right\}_{i \in \mathcal{A}}\ \mathcal{A}} \right)} = k} \right\rbrack}} = 1} \right).$

In relation to computational secrecy, for each subset that is not authorized and for any different secrets from the secret set, the distributions of the shares for parties from the unauthorized set are computationally indistinguishable (for every subset

∉Γ and all different secrets k₁, k₂ ∈

, it holds that the distributions

$\left\{ \prod\limits_{i}^{(k_{1})} \right\}_{i \in \mathcal{B}}\mspace{14mu}{and}\mspace{14mu}\left\{ \prod\limits_{i}^{(k_{2})} \right\}_{i \in \mathcal{B}}$ are computationally indistinguishable with respect to ω). If ∀k₁, k₂ ∈

with k₁≠k₂, the distributions

$\left\{ \prod\limits_{i}^{(k_{1})} \right\}_{i \in \mathcal{B}}\mspace{14mu}{and}\mspace{14mu}\left\{ \prod\limits_{i}^{(k_{2})} \right\}_{i \in \mathcal{B}}$ are identical, then the scheme is called a perfect sharing scheme.

The present invention generally utilizes Extremal Set Theory to construct set systems under certain intersection restrictions and bounding their size. In relation to utilization of such Extremal Set Theory, in one example, it is provided that m=Π_(i=1) ^(r) p_(i) ^(α) ^(i) is a positive integer with r>1 different prime divisors. Then there exists an explicitly constructible polynomial Q with n variables and degree O(n^(1/r)), which is equal to 0 on z=(1, 1, . . . , 1)∈{0,1}^(n) but is nonzero mod m on all other z∈{0,1}^(n). Furthermore, ∀z∈{0,1}^(n) and ∀i∈{1, . . . , r}, it holds that: Q(z)∈{0,1} mod p_(i) ^(α) ^(i) .

In addition, let m be a positive integer, and suppose that m has r>1 different prime divisors:

$m = {\prod\limits_{i = 1}^{r}{p_{i}^{\alpha_{i}}.}}$ Then there exists c=c(m)>0, such that for every integer h>0, there exists an explicitly constructible uniform set-system

over a universe of h elements such that:

${1.\mspace{14mu}{\mathcal{H}}} \geq {\exp\left( {c\frac{\left( {\log h} \right)^{r}}{\left( {\log\log h} \right)^{r - 1}}} \right)}$

2. ∀H∈

:|H|=0 mod m,

3. ∀G, H∈

, G≠H:|G∩H|≠0 mod m.

Matching vector (MV) families follow from the foregoing definition in which m=Π_(i=1) ^(r) p_(i) ^(α) ^(i) is a positive integer with r>1 different prime divisors and are used in cryptography in the context of private information retrieval, conditional disclosure of secrets, and secret sharing.

In addition, let m be a positive integer with r>1 different prime divisors: m=Π_(i=1) ^(r) p_(i) ^(α) ^(i) , and S⊆

_(m)\{0}. The family of vectors {u_(i)}_(i=1) ^(n), u_(i) ∈(

_(m))^(h) is said to be S-matching if the following conditions hold:

1.

u_(i), u_(i)

=0 for every i∈[n].

2.

u_(i), u_(i)

∈S for every i≠j.

where

·

denotes the inner product, and h>0 is an integer.

The following result has been proven about the existence of MV families, modulo a non-prime power m. For positive integers h, r and m=Π_(i=1) ^(r)

^(α), there exists a set S, such that |S|=2^(r)−1, and a family of S-matching vectors {u_(i)}_(i=1) ^(n), where u_(i) ∈(

_(m))^(h), such that

$n \geq {{\exp\left( {c\frac{\left( {\log\; h} \right)^{r}}{\log\;\log^{r - 1}h}} \right)}.}$ Hence, MV families exist for values of h that are significantly smaller than n.

The secret sharing scheme described herein may also leverage discrete Gaussian sampling as will now be described. For any center c∈

, and Gaussian parameter s∈

⁺, the discrete Gaussian distribution may be defined as:

$\begin{matrix} {{D_{s,c} = \frac{\rho_{s,c}(x)}{\sum\limits_{y = {- \infty}}^{\infty}{\rho_{s,c}(\gamma)}}},} & \; \end{matrix}$

∀x∈

, where ρ_(s,c)(x)=e^(−π|x-c|) ² ^(/s) ² is the Gaussian function. The parameters of discrete Gaussians are governed by the security proofs of the particular cryptosystem. A finite machine cannot sample from a discrete Gaussian distribution, hence one has to sample from a distribution close to it. It is a common practice to require that the statistical distance of the sampled distribution from the desired discrete Gaussian be less than 2¹⁰⁰. A number of Gaussian sampling algorithms for lattice-based cryptosystems may be utilized herein without limitation

Furthermore, a novel implementation of cumulative distribution function (CDF) inversion sampler with high precision and large tail bound has been demonstrated with maximum statistical distance of 2⁻⁹⁰ to a theoretical discrete Gaussian distribution. Such a sampler takes on average 9.44 random bits and 2.28 clock cycles to generate a sample and consumes 1 block RAM with 17 slices on a Spartan-6 FPGA. Hence, efficient and practical Gaussian sampling for lattice-based cryptography is becoming more practical.

Generation of shares may also utilize concepts related to the Learning With Errors (LWE) problem. The learning with errors (LWE) problem requires to recover a secret s given a sequence of ‘approximate’ random linear equations on it. LWE is known to be hard based on certain assumptions regarding the worst-case hardness of standard lattice problems such as GapSVP (decision version of the Shortest Vector Problem) and SIVP (Shortest Independent Vectors Problem). Many cryptosystems have been constructed whose security can be proven under the LWE problem, including (identity-based, leakage-resilient, fully homomorphic, functional) encryption, oblivious transfer, (blind) signatures, pseudorandom functions (PRFs), key-homomorphic PRFs, key-homomorphic constrained PRFs, hash functions, etc.

Two examples of implementation of LWE are described. The first is Decision-LWE. In this example, for positive integers n (the security parameter) and q≥2, and an error (probability) distribution χ=χ(n) over

_(q), the decision-LWE_(n,q,χ) problem is to distinguish between the following pairs of distributions:

-   -   (A, A^(T)s+e) and (A, u),         where m=poly(n),

${A\overset{\$}{\leftarrow}{\mathbb{Z}}_{q}^{n \times m}},{s\overset{\$}{\leftarrow}{\mathbb{Z}}_{q}^{n}},{e\overset{\$}{\leftarrow}\chi^{m}},\mspace{14mu}{{{and}\mspace{14mu} u}\overset{\$}{\leftarrow}{{\mathbb{Z}}_{q}^{m}.}}$

The other is Search-LWE for which positive integers n (the security parameter) and q≥2, and an error (probability) distribution χ=χ(n) over

_(q), the search-LWE_(n,q,χ) problem is to recovers s∈

_(q) ^(n), given m(=(n)) independent samples of (A,A^(T)s+e), where

${A\overset{\$}{\leftarrow}{\mathbb{Z}}_{q}^{n \times m}},{s\overset{\$}{\leftarrow}{\mathbb{Z}}_{q}^{n}},\mspace{14mu}{{{and}\mspace{14mu} e}\overset{\$}{\leftarrow}{\chi^{m}.}}$

For security parameter λ such that n=(λ), it has been proven that for a certain noise distribution χ and a sufficiently large q, the LWE problem is as hard as the worst-case SIVP (Shortest Independent Vectors Problem) and GapSVP (decision version of the Shortest Vector Problem) under a quantum reduction. These results have been extended to show that s can be sampled from a low norm distribution (in particular, from the noise distribution χ) and the resulting problem is as hard as the basic LWE problem. Similarly, the noise distribution χ can be a simple low-norm distribution.

Note that the seed and error vectors in the definitions can be replaced by matrices of appropriate dimensions, that are sampled from the same distributions as the vectors. Such interchange does not affect the hardness of LWE.

The present disclosure may also utilize Trapdoors for Lattices. Trapdoors for lattices utilized in the present disclosure are provided herein. For example, let m≥nk be an integer and m=m−nk. For A∈

_(q) ^(n×m), it may be that R∈

_(q) ^(m×nk) is a trapdoor for A with tag H∈

_(q) ^(n×n) if

${{A\begin{bmatrix} R \\ I \end{bmatrix}} = {H \cdot G}},$ where G∈

_(q) is a primitive matrix.

Given a trapdoor R for A, and an LWE instance B=AS+E mod q for some “short” (with small enough infinity or Euclidean norm) error matrix E∈

^(m×n), the LWE inversion algorithm from successfully recovers S (and E) with overwhelming probability.

In addition, the present disclosure may utilize Multilinear Maps. Extending bilinear elliptic curve pairings to multilinear maps is a long-standing open problem. Two interesting applications of multilinear maps have been proposed, namely multipartite Diffie-Hellman and very efficient broadcast encryption. However, such maps have been considered not possible from the realm of algebraic geometry. Bilinear pairings may provide that the encoding a·g of an element a is randomized (with some noise) instead of deterministic; only the computed multilinear map e(a_(i)·g, . . . , a_(k)·g) is a deterministic function of the a_(l)'s only. The construction has bounded degree with a maximum degree k at most polynomial in the security parameter. Indeed, the encoding noise grows linearly with the degree, and when the noise reaches a certain threshold, the encoding can become incorrect similar to the ciphertexts in a somewhat homomorphic encryption scheme. The security of the construction relied on new hardness assumptions which seemed natural extensions of the Decisional Diffie-Hellman (DDH) assumption.

The GGH15 scheme is one type of family of multilinear maps, based on the LWE problem with encoding over matrices. A graded encoding scheme for an algebraic “plaintext ring R” provides methods for encoding the ring elements and manipulating the resulting encodings. Such schemes allow a “canonical representation” of the plaintext element to be extracted from its encoding. GGH15 encodes LWE samples in short square matrices of higher dimensions. Addition and multiplication of the encodings corresponds to addition and multiplication of the LWE secrets. The plaintext space is the non-commutative ring of matrices R=

_(q) ^(n×n). The construction is parametrized by a directed acyclic graph (DAG), G=(V, E), with diameter d. A matrix

$A_{v}\overset{\$}{\leftarrow}{\mathbb{Z}}_{q}^{n \times m}$ is associated with each node v∈V, and encodings in the scheme are defined relative to the paths in G. A small plaintext matrix S∈R is encoded with respect to a path u

v via another small matrix D∈

_(q) ^(m×m), such that D·A_(u)≈A_(v)·S. Given ‘trapdoor information’ τ_(u) for matrix A_(u) and error distribution

, GGH15 generates an encoding D for S with respect to source u and sink v, such that: D·A_(u)=A_(v)·S+E, where E←(χ)^(m×n) is an LWE error matrix. As the trapdoor information is given for A_(u) and not A_(v), the LWE instance {A_(u), B_(v)(=A_(v)·S+E)} can still be hard for appropriate parameters. The arithmetic operations are just matrix operations in

_(q) ^(m×n). It is easy to see that two encodings, D_(i) and D₂, relative to the same path u

v can be added, namely from: D_(i)·A_(u)=A_(v)·S₁+E₁ and D₂·A_(u)=A_(v)·S₂+E₂, we obtain: (D_(i)+D₂)·A_(u)=A_(v)·(S₁+S₂)+E₁+E₂, all matrices, S₁+S₂, E₁ E₂ and D₁+D₂, are still small. Encodings relative to paths v

w and u

v, can be multiplied to get an encoding relative to path u

w. Namely given D₁·A_(v)=A_(w)·S₁+E₁ and D₂·A_(u)=A_(v)·S₂+E₂, we obtain: D₁·D₂·A_(u)=D₁·(A_(v)·S₂+E₂)=A_(w)·S₁·S₂+E′, the matrices, D₁·D₂, S₁·S₂ and E′ are still small.

With reference to FIG. 1, such a secret sharing scheme 100 is depicted schematically. The scheme 100 includes a share generator 110. The share generator 110 may comprise a share generation module executable by the computing device comprising the share generator. The share generator 110, as described above, receives as inputs trust structures Γ from each party, a security parameter ω, a set of

polynomial-time parties 120, and a secret 130 k. In turn, the share generator 110 may utilize the share generation algorithm to generate shares {

} that are distributed to the parties. 120. The share generator 110 may comprise a computing device comprising, for example, one or more hardware processors and memory devices. The hardware processors may access the share generation algorithm, which may be stored in a memory device of the share generator 110. In turn, the one or more hardware processors of the share generator 110 may execute the share generation algorithm to generate the shares. The shares may be communicated to the parties 120 a, 120 b, . . . 120 n, which themselves may be computing devices comprising one or more hardware processors and memory devices. The shares may be communicated to the parties 120 by way of a network or other digital communication methodology. In this regard, the shares may be stored in a respective memory device of the party 120 that receives the shares. As described above, the secret 130 may comprise data received at the share generator 110. A share may comprise share data that is provided to and stored in a memory device of each respective parties 120.

In turn, with further reference to FIG. 2, when participants 220 comprising an authorized set defined by the trust structure F exchange their shares, the secret 130 k may be output. The trust structure F may be at least in part based on trust structures provided by the parties 120 that are used in the share generation algorithm executed by the share generator 110. Thus, the shares provided to the parties may have encoded therein trust structures without providing any information regarding the trust structure to a party having a share. However, upon exchanging the shares, the shares provided may reconstruct the secret 130 when the participants 220 comprise an authorized subset based on the trust structures. In this regard, the shares may be provided by the participants 220 in a request to reconstruct the secret.

With further reference to FIG. 3, if the participants are not an authorized subset, the participants 330 exchanging shares will not be capable of a result that outputs the secret 130 upon execution of the secret reconstruction algorithm. Rather, a failure message 330 may be output indicating the secret was not reconstructed.

The secret sharing scheme discussed herein utilizes construction of set systems with certain intersection restrictions and bounding size. The scheme also utilizes discrete Gaussian sampling, learning with errors (LWE), trapdoors for lattices, and multilinear maps (e.g., GGH15).

Combinatorial objects utilized in the secret sharing scheme are described below. For example, let {G₁, G₂, . . . , G_(t)} be a family of sets, which may relate to combinations of participants each providing shares in a secret sharing scheme. The set family is non-degenerate if there does not exist 1≤i≤t such that G_(i)⊆G_(j) for all 1≤j≤t. Also, let m≥2, t≥2 be integers and

be a set-system. We shall say that

has t-wise restricted intersections modulo m if the following bounding conditions are provided:

Bounding condition 1. ∀

∈

, |H|≡0 mod m,

Bounding condition 2. ∀t′ satisfying 2≤t′≤t, and ∀H₁, H₂, . . . , H_(t′) ∈

with {H₁, H₂, . . . , H_(t′)} non-degenerate,

${{\underset{\tau\; = \; 1}{\bigcap\limits^{t^{\prime}}}H_{\tau}}} ≢ {0{{mod}m}}$

Furthermore, let m≥2 and l≥2 be integers such that m has no prime factors ≤l. Suppose there exists an integer t≥2 and a uniform set system

satisfying the conditions:

Set condition 1. ∀G∈

, |G|≡0 mod m,

Set condition 2. ∀t′ such that 2≤t′≤t, and ∀G₁, G₂, . . . , G_(t′)∈

distinct,

${{\underset{\tau = 1}{\bigcap\limits^{t^{\prime}}}G_{\tau}}} \equiv {{\mu mod}\; m}$

for some μ such that μ≢0 mod m and μ≡0 or 1 mod p for all primes p dividing m,

Set condition 3. |∩_(G∈)

G|≢0 mod m.

With this scenario, there exists a set-system

, explicitly constructible from the set system

, which contains sets with exactly two different sizes, such that:

Construction Proposition 1. ∀H₁, H₂ ∈

, either |H₁|=|H₂|=|H₁|=l|H₂| or l|H₁|=|H₂|,

Construction Proposition 2.

has t-wise restricted intersections modulo m.

In this regard, subset-superset relationships may be established such that any superset of an authorized subset is also authorized to reconstruct the secret.

Expanding the proof of the foregoing scenario, a l uniform set systems

₁,

₂, . . . ,

_(l) is provided satisfying the following properties:

Set Property 1. ∀H∈

_(i), |H|≡0 mod m,

Set Property 2. ∀t′ such that 2≤t′≤t, and ∀H₁, H₂, . . . , H_(t′)∈

_(i) distinct,

${{\underset{\tau = 1}{\bigcap\limits^{t^{\prime}}}H_{\tau}}} \equiv {{\mu mod}\; m}$

for some μ such that μ≢0 mod m and μ≡0 or 1 mod p for all primes p dividing m,

Set Property 3.

H|≢0 mod m,

Set Property 4. |H_(i)|=|H_(j)| for all H_(i)∈

_(i), H_(j)∈

_(j),

Set Property 5. |

|=|

| for all 1≤i,j≤l.

Bijections may be fixed:

$\left. {{f_{i,j}\text{:}}\bigcap\limits_{H_{i} \in \mathcal{H}_{i}}H_{j}}\rightarrow{\bigcap\limits_{H_{j} \in \mathcal{H}_{j}}{H_{j}.}} \right.$

such that f_(i,i) is the identity and f_(i,j)∘f_(j,k)=f_(i,k) for all 1≤i,j,k≤l. Using these bijections, we can identify the sets

and

with each other, so let

$A = {{\bigcap\limits_{H_{1} \in \mathcal{H}_{1}}H_{1}} = {{\bigcap\limits_{H_{2} \in \mathcal{H}_{2}}H_{2}} = {\ldots = {\bigcap\limits_{H_{l} \in \mathcal{H}_{l}}H_{l.}}}}}$

The elements of the sets in

_(i) may be treated as being distinct from the elements of the sets in

_(j), except for the above identification of elements in

with elements in

. Let a=|A|, and let β₁, β₂, . . . , β_((l-1)a) be elements that are distinct from all the elements in the sets in

₁,

₂, . . .

₁. The set may be defined: B=β ₁,β₂, . . . ,β_((l−1)a).

In addition, a set system IC may be provided with sets:

-   -   H_(i) for H_(i)∈         _(i), some 1≤i≤l,     -   ∪_(i=1) ^(l)H_(i)∪B for H_(i)∈         _(i),

The common size of the sets may be written in the uniform set systems

_(i) as km for some k>0. Then, for H_(i)∈

_(i),

$\begin{matrix} {{{{\underset{i = 1}{\bigcup\limits^{l}}H_{i}}\bigcup B}} = {{{{\underset{i = 1}{\bigcup\limits^{l}}H_{i}}} + {B}} = {{\sum\limits_{i = 1}^{l}{H_{i}}} - {\left( {l - 1} \right){A}} + {B}}}} \\ {{= {{{l({km})} - {\left( {l - 1} \right)a} + {\left( {l - 1} \right)a}} = {lkm}}},} \end{matrix}$

where the second equality comes from the fact that H_(i)∩H_(j)=A for all i≠j. This shows that Construction Proposition 1 holds.

In relation to Construction Proposition 2 that

has t-wise restricted intersections modulo m, the proof may be shown by letting t₁, t₂, . . . , t_(l+1)≥0 be such that 2≤t′=t₁+t₂+ . . . +t_(l+1)≤t. Considering the intersection of the sets:

-   -   H_(i,τ) where 1≤i≤l, 1≤τ≤t_(i) and H_(i,τ)∈         _(i),     -   ∪_(i=1) ^(l) H′_(i,τ)∪B where 1≤τ≤T_(l+1) and H′^(i,τ)∈         _(i).

Assume that these sets form a non-degenerate family. In turn, let

$\begin{matrix} {\sigma = {{{\underset{i = 1}{\bigcap\limits^{l}}{\underset{\tau = 1}{\bigcap\limits^{t_{i}}}H_{i,\tau}}}\bigcap{\underset{\tau = 1}{\bigcap\limits^{t_{l + 1}}}\left( {H_{i,\tau}^{\prime}\bigcup H_{2,\tau}^{\prime}\bigcup\ldots\bigcup H_{l,\tau}^{\prime}\bigcup B} \right)}}}} \\ {{= {{{{\underset{i = 1}{\bigcap\limits^{l}}{\underset{\tau = 1}{\bigcap\limits^{t_{i}}}H_{i,\tau}}}\bigcap{\underset{\tau = 1}{\bigcap\limits^{t_{l + 1}}}\left( {H_{1,\tau}^{\prime}\bigcup H_{2,\tau}^{\prime}\bigcup\ldots\bigcup H_{l,\tau}^{\prime}} \right)}}} + {\epsilon{B}}}},} \end{matrix}$

where ϵ=1 if t₁=t₂= . . . =t_(l)=0 and ϵ=0 otherwise.

If two or more of t₁, t₂, . . . , t_(l) are non-zero, τ=|A|=a≢0 mod m. If exactly one of t₁, t₂, . . . , t_(l) is non-zero, say t_(i)≠0, then

$\sigma = {{{{\underset{\tau = 1}{\bigcap\limits^{t_{i}}}H_{i,\tau}}\bigcap{\underset{\tau = 1}{\bigcap\limits^{t_{l + 1}}}H_{i,\tau}^{\prime}}}} \neq {0{{mod}m}}}$

since H_(i,τ) (for 1≤τ≤t_(i)) and H′^(i,τ) (for 1≤τ≤t_(l+1)) are not all the same by the assumption of non-degeneracy. If t₁=t₂= . . . =t₁=0, then

$\begin{matrix} {\sigma = {{{\underset{\tau = 1}{\bigcap\limits^{t_{l + 1}}}\left( {H_{1,\tau}^{\prime}\bigcup H_{2,\tau}^{\prime}\bigcup\ldots\bigcup H_{l,\tau}^{\prime}} \right)}} + {B}}} \\ {= {{{\sum\limits_{i = 1}^{l}{{\underset{\tau = 1}{\bigcap\limits^{t_{l + 1}}}H_{i,\tau}^{\prime}}}} - {\left( {l - 1} \right){A}} + {B}} \equiv {\sum\limits_{i = 1}^{l^{\prime}}{\mu_{i}{mod}\; m}}}} \end{matrix}$

for some 1≤l′≤l and some 0<μ₁,μ₂, . . . , μ_(l′)<m such that each μ_(i)≡0 or 1 mod p for all primes p dividing m. Since μ_(i) ≢0 mod m for all 1≤i≤l′, there must be some prime p dividing m for which at least one of the μ_(i)'s satisfy μ_(i)≡1 mod p. Then, for this prime p,

$\sigma \equiv {\sum\limits_{i = 1}^{l^{\prime}}\mu_{i}} \neq {0{{mod}p}}$

since p, being a prime factor of m, satisfies p>l≤l′, and since each μ_(i)≡0 or 1 mod p. In this regard, Construction Proposition 2 holds.

In addition, suppose that |

|=s and that the number of elements in the universe of

is g. Then, there are ls sets of size km and s^(l) sets of size lkm in

, so |

|=s^(l)+ls. The universe of

has lg elements. Also, for each H∈

, exactly one of the following is true:

(a) H is a subset of exactly s^(l-1) sets and not a superset of any sets in

,

(b) H is a superset of exactly l sets and not a subset of any sets in

.

In order to explicitly construct set systems which, in addition to having the Bounding Conditions stated above, have sizes super-polynomial in the number of elements, the following details an approach used to construct a super polynomial uniform set-system that provides a solution for reconstruction of a secret from participants belonging to an authorized set based on the trust structures encoded with the secret shares.

Let m=p₁ ^(α) ¹ p₂ ^(α) ² . . . p_(r) ^(α) ^(r) be a positive integer with r>1 distinct prime divisors. For every integer n≥1, there exists an explicitly constructible polynomial P in n variables such that

1. P(0, 0, . . . , 0)≡0 mod m,

2. P(x)≢0 mod m for all x∈{0,1}^(n) such that x≠(0, 0, . . . , 0),

3. P(x)≡0 or 1 mod p_(i) for all x∈{0,1}^(n) such that x≠(0, 0, . . . , 0), 1≤i≤r.

The polynomial P has degree d=max(p₁ ^(e) ¹ , p₂ ^(e) ² , . . . p_(r) ^(e) ^(r) )−1 where e_(i) is the smallest integer that satisfies

$p_{i}^{e_{i}} > {\left\lceil n^{\frac{1}{r}} \right\rceil.}$

Define Q(x₁, x₂, . . . , x_(n))=P(1−x₁, 1−x₂, . . . , 1−x_(n)). Then

1. Q(1, 1, . . . , 1)≡0 mod m,

2. Q(x)≢0 mod m for all x∈{0,1}^(n) such that x≠(1, 1, . . . , 1).

3. Q(x)≡0 or 1 mod p_(i) for all x∈{0,1}^(n) such that x≠(1, 1, . . . , 1), 1≤i≤r.

In addition, let m=p₁ ^(α) ¹ p₂ ^(α) ² . . . p_(r) ^(α) ^(r) be a positive integer with r>1 distinct prime divisors. For every integer n≥1, there exists a uniform set system

over a universe of g elements which is explicitly constructible from the polynomial Q of degree d such that

${{1.\mspace{14mu} g} < {\frac{2\left( {m - 1} \right)n^{2d}}{d!}{\mspace{11mu}\;}{if}\mspace{14mu} n} \geq {2d}},$

2. |

|=n^(n),

3. ∀G∈

, |G|≡0 mod m,

4. ∀G, H∈

such that G≠H, |G∩H|≡μ mod m

for some μ such that μ≢0 mod m and μ≡0 or 1 mod p_(i) for all 1≤i≤r,

5. |∩_(G∈)≢

G|≢0 mod m.

Note that (v) follows from the fact that:

${{\bigcap\limits_{G = \mathcal{G}}G}} \equiv {Q\left( {0,0,\ \ldots\mspace{14mu},0} \right)} ≢ {0\;{mod}\;{m.}}$

Furthermore, let m=p₁ ^(α) ¹ p₂ ^(α) ² . . . p_(r) ^(α) ^(r) be a positive integer with r>1 distinct prime divisors. For all integers t≥2 and n≥1, there exists a uniform set system

over a universe of g elements which is explicitly constructible from the polynomial Q of degree d such that

1.

${g < {\frac{2\left( {m - 1} \right)n^{2\; d}}{d!}{if}\mspace{14mu} n} \geq {2\; d}},$

2. |

|=n^(n),

3. ∀G∈

, |

|≡0 mod m,

4. ∀t′ such that 2≤t′≤t, and ∀G₁, G₂, . . . , G_(t′)∈

distinct,

${{\underset{\tau = 1}{\bigcap\limits^{t^{\prime}}}G_{\tau}}} \equiv {{\mu mod}\; m}$

for some μ such that μ≢0 mod m and μ≡0 or 1 mod p_(i) for all 1≤i≤r,

5. |∩_(Ge)

G|≢0 mod m.

The polynomial Q can be written as

${Q\left( {x_{1},x_{2},\ \ldots\mspace{14mu},x_{n}} \right)} = {\sum\limits_{i_{1} < i_{2} < \ldots < i_{l}}{a_{i_{1},i_{2},\ldots\mspace{14mu},i_{l},}x_{i_{1}}x_{i_{2}}\ldots\mspace{14mu} x_{i_{l}}}}$

Define:

${\overset{\sim}{Q}\left( {x_{1},x_{2},\ldots\mspace{14mu},x_{n}} \right)} = {\sum\limits_{i_{1} < i_{2} < \ldots < i_{l}}{{\overset{\sim}{a}}_{i_{1},i_{2},\ldots\mspace{14mu},i_{l},}x_{i_{1}}x_{i_{2}}\ldots\mspace{14mu} x_{i_{l}}}}$

where ã_(i) ₁ _(, i) ₂ _(, . . . , i) _(l) is the remainder when a_(i) ₁ _(, i) ₂ _(, . . . , i) _(l) is divided by m.

Let [0, n−1]={0, 1, . . . , n−1}. Define the function δ: [0, n−1]^(t)→{0,1} as

${\delta\left( {u_{1},{u_{2,}\ldots}\mspace{14mu},u_{t}} \right)} = \left\{ \begin{matrix} 1 & {{{{if}\mspace{14mu} u_{1}} = {u_{2} = {\ldots = u_{t}}}},} \\ 0 & {{otherwise}.} \end{matrix} \right.$

For y₁, y₂, . . . , y_(t)∈[0, n−1]^(n), let a ^(y) ¹ ^(,y) ² ^(, . . . ,y) ^(t) ={tilde over (Q)}(δ(y _(1,1) ,y _(2,1) , . . . ,y _(t,1)), . . . ,δ(y _(1,n) ,y _(2,n) , . . . ,y _(t,n)))mod m.

Then:

a^(y₁, y₂, …  , y_(t)) = ∑ b_(i₁, i₂, …  , i_(l))^(y₁, y₂, …  , y_(t))

where

$b_{i_{1},i_{2},\ldots\mspace{11mu},i_{l}}^{y_{1},y_{2},\ldots\mspace{11mu},y_{t}} = {\sum\limits_{j = 1}^{l}\;{{\delta\left( {y_{1,i_{j}},y_{2,i_{j}},\ldots\mspace{11mu},y_{t,i_{j}}} \right)}.}}$

Each summand

b_(i₁, i₂, …  , i_(l))^(y₁, y₂, …  , y_(t)) corresponds to a monomial of {tilde over (Q)} and occurs with multiplicity ã_(i) ₁ _(, i) ₂ _(, . . . , i) _(l) in the above sum.

It is easy to check that there exists partitions

_(i) ₁ _(, i) ₂ _(, . . . , i) _(l) of [0, n−1]^(n) such that for all y₁, y₂, . . . , y_(t)∈[0, n−1]^(n),

$b_{i_{1},i_{2},\ldots\mspace{11mu},i_{l}}^{y_{1},y_{2},\ldots\mspace{11mu},y_{t}} = \left\{ \begin{matrix} 1 & {{{if}\mspace{14mu} y_{1}},y_{2},\ldots\mspace{11mu},{y_{t}\mspace{14mu}{belong}\mspace{14mu}{to}\mspace{14mu}{the}\mspace{14mu}{same}\mspace{14mu}{block}\mspace{14mu}\mathcal{P}_{i_{1},i_{2},\ldots\mspace{11mu},i_{l}}},} \\ 0 & {{otherwise}.} \end{matrix} \right.$

A block in the partition

_(i) ₁ _(, i) ₂ _(, . . . , i) _(l) covers y∈[0, n−1]^(n) if y is an element of the block.

A set system

is defined as follows: the sets in g correspond to y for y∈[0, n−1]^(n), and the set corresponding to y has elements given by the blocks that cover y.

The set y in the set system

has size equal to the number of blocks that cover y, which is equal to a ^(y,y, . . . ,y) ={tilde over (Q)}(1,1, . . . ,1)≡0 mod m.

For any 2≤t′≤t, and y₁, y₂, . . . , y_(t′)∈[0, n−1]^(n) distinct, some block of

_(i) ₁ _(, i) ₂ _(, . . . , i) _(l) covers all of y₁, y₂, . . . , y_(t′) if and only if

b_(i₁, i₂, …  , i_(l))^(y₁, y₂, …  , y_(t^(′…  , y_(t^(′))))) = 1 (note that y_(t′) occurs in the superscript t−t′+1 times). So, the number of such blocks is equal to a ^(y) ¹ ^(,y) ² ^(, . . . ,y) ^(t′) ^(, . . . ,y) ^(t′) ≢0 mod m.

The following theorem can be proved by, letting m=p₁ ^(a) ¹ p₂ ^(a) ² . . . p_(r) ^(a) ^(r) be a positive integer with r>1 distinct prime divisors, and l≥2 be an integer such that l<min(p₁, p₂, . . . , P_(r)). Then, for all integers t≥2 and n≥1, there exists an explicitly constructible set-system

which contains sets with exactly 2 different sizes, defined over a universe of h elements, such that

${{1.\mspace{14mu} h} < {2\;{l\left( {m - 1} \right)}n^{4\;{mn}^{\frac{1}{r}}}\mspace{14mu}{if}\mspace{14mu} n} \geq \left( {4m} \right)^{1 + \frac{1}{r - 1}}},$

2. |

|=n^(ln)+ln^(n),

3. ∀H₁, H₂∈

, either |H₁|=|H₂|, |H₁|=l|H₂| or l|H₁|=|H₂|,

4.

has t-wise restricted intersections modulo m.

As noted above, there exists a uniform set-system

that satisfies Set Conditions 1-3 above which is defined over a universe of g elements, such that |

|=n^(n). Furthermore, we know that

$g < \frac{2\left( {m - 1} \right)n^{2d}}{d!}$ provided the condition n≥2d is satisfied.

As provided above, d=max(p_(i) ^(e) ¹ , p₂ ^(e) ² , . . . , p_(r) ^(e) ^(r) )−1 where e_(i) is the smallest integer that satisfies

${p_{i}^{e_{i}} > \left\lceil n^{\frac{1}{r}} \right\rceil},$ from which we obtain the inequality

$d < {{\max\left( {p_{1},p_{2},\ldots\mspace{11mu},p_{r}} \right)}\left\lceil n^{\frac{1}{r}} \right\rceil} < {2{{mn}^{\frac{1}{r}}.}}$

Hence if

${n \geq \left( {4m} \right)^{1 + \frac{1}{r - 1}}},{{{then}\mspace{14mu} n^{\frac{r - 1}{r}}} \geq {4{mn}} \geq {4{mn}^{\frac{1}{r}}} > {2d}},$ and thus we have

$g < \frac{2\left( {m - 1} \right)n^{2d}}{d!} < {2\left( {m - 1} \right)n^{2d}} < {2\left( {m - 1} \right){n^{4{mn}^{\frac{1}{r}}}.}}$

Applying the Bounding Conditions with the above set system

, we obtain a set system

satisfying (iii) and (iv).

has size |

|=(n ^(n))^(l) +l(n ^(n))=n ^(ln)+ln^(n)

and the number of elements in the universe of

is

$h = {\lg < {2{l\left( {m - 1} \right)}n^{4{mn}^{\frac{1}{r}}}}}$ provided that

$n \geq {\left( {4m} \right)^{1 + \frac{1}{r - 1}}.}$

FIG. 4 illustrates example operations 400 for implementation of a secret sharing scheme as described herein. The operations 400 may include a receiving operation 402 in which a trust structure is received from each party in the scheme. This may include a trust structure and an adversary structure.

The operations 400 may also include a generating operation 404 in which shares are generated that include encoded information regarding the trust structure that may be used to determine authorized subsets for a reconstruction of a secret. The shares are distributed to the parties in a distributing operation 406.

The operations 400 may also include a receiving operation 408 in which shares from each participant are received. A determining operation 410 may determine if an authorized subset of participating computing devices is present in the request to reconstruct the secret. The authorized subset may be based on the encoded trust structure of the shares received in the receiving operation 408. If an authorize subset is not present, the reconstruction fails and an output operation 412 may output a failure message. However, if it is determined that an authorized subset is present, then a reconstructing operation 414 may reconstruct the secret. In turn, the secret may be provided to the participating set of parties.

As described above, a secret sharing scheme as described herein may be used by a plurality of computing devices for computational secret sharing of a secret comprising data in a memory device. FIG. 5 illustrates an example schematic of a computing device 500 suitable for implementing aspects of the disclosed technology including any of the foregoing computing devices utilized in a secret sharing scheme including a party, secret generator, and/or dealer as described above. The computing device 500 includes one or more processor unit(s) 502, memory 504, a display 506, and other interfaces 508 (e.g., buttons). The memory 504 generally includes both volatile memory (e.g., RAM) and non-volatile memory (e.g., flash memory). An operating system 510, such as the Microsoft Windows® operating system, the Apple macOS operating system, or the Linux operating system, resides in the memory 504 and is executed by the processor unit(s) 502, although it should be understood that other operating systems may be employed.

One or more applications 512 are loaded in the memory 504 and executed on the operating system 510 by the processor unit(s) 502. Applications 512 may receive input from various input local devices such as a microphone 534, input accessory 535 (e.g., keypad, mouse, stylus, touchpad, joystick, instrument mounted input, or the like). Additionally, the applications 512 may receive input from one or more remote devices such as remotely-located smart devices by communicating with such devices over a wired or wireless network using more communication transceivers 530 and an antenna 538 to provide network connectivity (e.g., a mobile phone network, Wi-Fi®, Bluetooth®). The computing device 500 may also include various other components, such as a positioning system (e.g., a global positioning satellite transceiver), one or more accelerometers, one or more cameras, an audio interface (e.g., the microphone 534, an audio amplifier and speaker and/or audio jack), and storage devices 528. Other configurations may also be employed.

The computing device 500 further includes a power supply 516, which is powered by one or more batteries or other power sources and which provides power to other components of the computing device 500. The power supply 516 may also be connected to an external power source (not shown) that overrides or recharges the built-in batteries or other power sources.

In an example implementation, the computing device 500 comprises hardware and/or software embodied by instructions stored in the memory 504 and/or the storage devices 528 and processed by the processor unit(s) 502. The memory 504 may be the memory of a host device or of an accessory that couples to the host. Additionally or alternatively, the computing device 500 may comprise one or more field programmable gate arrays (FGPAs), application specific integrated circuits (ASIC), or other hardware/software/firmware capable of providing the functionality described herein.

The computing device 500 may include a variety of tangible processor-readable storage media and intangible processor-readable communication signals. Tangible processor-readable storage can be embodied by any available media that can be accessed by the computing device 500 and includes both volatile and nonvolatile storage media, removable and non-removable storage media. Tangible processor-readable storage media excludes intangible communications signals and includes volatile and nonvolatile, removable, and non-removable storage media implemented in any method or technology for storage of information such as processor-readable instructions, data structures, program modules or other data. Tangible processor-readable storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other tangible medium which can be used to store the desired information and which can be accessed by the computing device 500. In contrast to tangible processor-readable storage media, intangible processor-readable communication signals may embody processor-readable instructions, data structures, program modules or other data resident in a modulated data signal, such as a carrier wave or other signal transport mechanism. The term “modulated data signal” means an intangible communications signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, intangible communication signals include signals traveling through wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media.

Some implementations may comprise an article of manufacture. An article of manufacture may comprise a tangible storage medium to store logic. Examples of a storage medium may include one or more types of processor-readable storage media capable of storing electronic data, including volatile memory or non-volatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, and so forth. Examples of the logic may include various software elements, such as software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software modules, routines, subroutines, operation segments, methods, procedures, software interfaces, application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. In one implementation, for example, an article of manufacture may store executable computer program instructions that, when executed by a computer, cause the computer to perform methods and/or operations in accordance with the described implementations. The executable computer program instructions may include any suitable type of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, and the like. The executable computer program instructions may be implemented according to a predefined computer language, manner, or syntax, for instructing a computer to perform a certain operation segment. The instructions may be implemented using any suitable high-level, low-level, object-oriented, visual, compiled and/or interpreted programming language.

The implementations described herein are implemented as logical steps in one or more computer systems. The logical operations may be implemented (1) as a sequence of processor-implemented steps executing in one or more computer systems and (2) as interconnected machine or circuit modules within one or more computer systems. The implementation is a matter of choice, dependent on the performance requirements of the computer system being utilized. Accordingly, the logical operations making up the implementations described herein are referred to variously as operations, steps, objects, or modules. Furthermore, it should be understood that logical operations may be performed in any order, unless explicitly claimed otherwise or a specific order is inherently necessitated by the claim language. 

What is claimed is:
 1. A method for sharing a secret amongst a plurality of computing devices, comprising: distributing a share of the secret to a plurality of computing devices, wherein the secret is not reconstructable with less than the shares of an authorized set of participants that comprises a subset of the plurality of computing devices; receiving a request to reconstruct the secret, wherein the request comprises the shares from a participating subset of the computing devices, wherein each of the shares from the participating subset of the computing devices comprise an encoded trust structure for the corresponding computing device, and wherein no information regarding the encoded trust structure of a given participant of the participating subset is available to other participants of the participating subset; defining the authorized set of participants required to participate in the request for reconstruction of the secret, wherein the authorized set of participants is based on the encoded trust structures of the shares of the participating subset of the computing devices; determining whether the participating subset of computing devices comprises the authorized set of participants; and reconstructing the secret using the plurality of shares if the participating subset of the computing devices comprises the authorized set of participants.
 2. The method of claim 1, wherein the encoded trust structure comprises information regarding whom the corresponding computing device deems as trustworthy.
 3. The method of claim 1, wherein the encoded trust structure comprises information regarding whom the corresponding computing device deems as untrustworthy.
 4. The method of claim 1, wherein the share is derived from a combinatorial object that encodes the encoded trust structure.
 5. The method of claim 4, wherein the combinatorial object is used to encode 2^(n) authorized and unauthorized sets.
 6. The method of claim 5, wherein the authorized and unauthorized sets are represented by a single vector inner product.
 7. The method of claim 1, further comprising: generating the shares of the secret using a polynomial-time algorithm having as inputs a secret and the access structure.
 8. A computing device executable for implementing a secret sharing scheme, comprising: a share generation module executable by a hardware processor of the computing device to: receive a secret comprising secret data, and generate a share of the secret, wherein the secret is not reconstructable with less than the shares of an authorized set of participants that comprises a subset of the plurality of computing devices, wherein each of the shares from the participating subset of the computing devices comprise an encoded trust structure for the corresponding computing device, and wherein no information regarding the encoded trust structure of a given participant of the participating subset is available to other participants of the participating subset, and a secret reconstruction module executed by a hardware processor of the computing device to: receive a request to reconstruct the secret, wherein the request comprises the shares from a participating subset of the computing devices; define the authorized set of participants required to participate in the request for reconstruction of the secret, wherein the authorized set of participants is based on the encoded trust structures of the shares of the participating subset of the computing devices; determine whether the participating subset of computing devices comprises the authorized set of participants; and reconstruct the secret using the plurality of shares if the participating subset of the computing devices comprises the authorized set of participants.
 9. The computing device of claim 8, wherein the encoded trust structure comprises information regarding whom the corresponding computing device deems as trustworthy.
 10. The computing device of claim 8, wherein the encoded trust structure comprises information regarding whom the corresponding commuting device deems as untrustworthy.
 11. The computing device of claim 8, wherein the share is derived from a combinatorial object that encodes the encoded trust structure.
 12. The computing device of claim 11, wherein the combinatorial object comprises 2^(n) authorized and unauthorized sets.
 13. The method of claim 12, wherein the authorized and unauthorized sets are represented by a single vector inner product.
 14. One or more tangible processor-readable storage media embodied with instructions for executing on one or more processors and circuits of a device a process for sharing a secret amongst a plurality of computing devices, comprising: distributing a share of the secret to a plurality of computing devices, wherein the secret is not reconstructable with less than the shares of an authorized set of participants that comprises a subset of the plurality of computing devices; receiving a request to reconstruct the secret, wherein the request comprises the shares from a participating subset of the computing devices, wherein each of the shares from the participating subset of the computing devices comprise an encoded trust structure for the corresponding computing device, and wherein no information regarding the encoded trust structure of a given participant of the participating subset is available to other participants of the participating subset; defining the authorized set of participants required to participate in the request for reconstruction of the secret, wherein the authorized set of participants is based on the encoded trust structures of the shares of the participating subset of the computing devices; determining whether the participating subset of computing devices comprises the authorized set of participants, and reconstructing the secret using the plurality of shares if the participating subset of the computing devices comprises the authorized set of participants.
 15. The one or more tangible processor-readable storage media of claim 14, wherein the share is derived from a combinatorial object that encodes the encoded trust structure.
 16. The one or more tangible processor-readable storage media of claim 15, wherein the combinatorial object is used to encode 2^(n) authorized and unauthorized sets.
 17. The one or more tangible processor-readable storage media of claim 16, wherein the authorized and unauthorized sets are represented by a single vector inner product.
 18. The method of claim 1, wherein no information regarding the encoded trust structure of any participant of the participating subset is available if reconstruction of the secret fails.
 19. The computing device of claim 8, wherein no information regarding the encoded trust structure of any participant of the participating subset is available if reconstruction of the secret fails.
 20. The one or more tangible processor-readable storage media of claim 14, wherein no information regarding the encoded trust structure of any participant of the participating subset is available if reconstruction of the secret fails. 